﻿using System;
using System.Data;
using System.Text;
using System.Data.Common;

using ZhangBY.Entity;

namespace ZhangBY.Data.IDbSupplier
{
   public interface IDataSupplier
   {
       #region user
       /// <summary>
        /// 根据用户名查找用户信息并用户返回ID
        /// </summary>
        /// <param name="user"></param>
        /// <returns></returns>
       object GetUserIdByUserName(ShortUserInfo user);
        /// <summary>
        /// 根据用户名查找用户信息
        /// </summary>
        /// <param name="user"></param>
        /// <returns></returns>
        DataTable GetUserByUserName(ShortUserInfo user);
        /// <summary>
        /// 根据用户名和密码查找用户信息
        /// </summary>
        /// <param name="user"></param>
        /// <returns></returns>
        DataTable GetUserByUserNameAndUserPass(ShortUserInfo user);
       #endregion

       //#region 企业公司权限
       ///// <summary>
       // /// 根據用戶名和模塊代號取得用戶模塊權限
       // /// </summary>
       // /// <param name="Account">用戶名</param>
       // /// <param name="ModuleCode">模塊代號</param>
       // /// <returns></returns>
       //  DataSet GetCompanyModulePermissions(string Account, int indexName);
       // /// <summary>
       // /// 根據用戶名和模塊名稱取得用戶模塊權限
       // /// </summary>
       // /// <param name="Account">用戶名</param>
       // /// <param name="ModuleName">模塊名</param>
       // /// <returns></returns>
       //  DataSet GetCompanyModulePermissions(string Account, string ModuleName);
       // /// <summary>
       // /// 根據帳號取得所有模塊角色權限
       // /// </summary>
       // /// <param name="Account">帳號</param>
       // /// <returns></returns>
       //  DataSet GetCompanyAllModulePermissions(string Account);
       // /// <summary>
       // /// 根據用戶名取得該用戶隸屬角色
       // /// </summary>
       // /// <param name="Account"></param>
       // /// <returns></returns>
       //  DataSet GetCompanyAllUserRoles(string Account);
       // /// <summary>
       // /// 根據用戶名取得該用戶擁有操作模塊資源
       // /// </summary>
       // /// <param name="Account"></param>
       // /// <returns></returns>
       //  DataSet GetCompanyAllUserModule(string Account);
       // /// <summary>
       // /// 取得所有模塊資源
       // /// </summary>
       // /// <returns></returns>
       //  DataSet GetCompanyAllModule();
       // /// <summary>
       // /// 創建一個新角色
       // /// </summary>
       // /// <param name="RolesName">角色名</param>
       // /// <returns></returns>
       //  int AddNewCompanyRoles(string RolesName);
       // /// <summary>
       // /// 創建一個新角色并返回角色ID
       // /// </summary>
       // /// <param name="RolesName">角色名</param>
       // /// <returns></returns>
       //  object AddNewCompanyRolesReturnId(string RolesName);
       // /// <summary>
       // /// 根據角色名刪除角色
       // /// </summary>
       // /// <param name="RolesName"></param>
       // /// <returns></returns>
       //  int DeleteCompanyRoles(string RolesName);
       // /// <summary>
       // /// 根據角色主鍵ID刪除角色
       // /// </summary>
       // /// <param name="RolesId"></param>
       // /// <returns></returns>
       //  int DeleteCompanyRoles(int RolesId);
       // /// <summary>
       // /// 根據ROLES表組件ID更改角色名
       // /// </summary>
       // /// <param name="RolesId"></param>
       // /// <param name="RolesName"></param>
       // /// <returns></returns>
       //  int UpdateCompanyRolesName(int RolesId, string RolesName);
       // /// <summary>
       // /// 添加（分配）用戶角色
       // /// </summary>
       // /// <param name="UserId"></param>
       // /// <param name="RolesId"></param>
       // /// <returns></returns>
       //  int AddNewCompanyUserRoles(int UserId, int RolesId);
       // /// <summary>
       // /// 添加（分配）用戶角色
       // /// </summary>
       // /// <param name="UserId"></param>
       // /// <param name="RolesId"></param>
       // /// <returns></returns>
       //  int AddNewCompanyUserRoles(string UserId, string RolesId);
       // /// <summary>
       // /// 根據UserRoles主鍵ID刪除用戶角色
       // /// </summary>
       // /// <param name="UserRolesId"></param>
       // /// <returns></returns>
       //  int DeleteCompanyUserRoles(int UserRolesId);
       // /// <summary>
       // /// 刪除用戶角色
       // /// </summary>
       // /// <param name="UserId"></param>
       // /// <param name="RolesId"></param>
       // /// <returns></returns>
       //  int DeleteCompanyUserRoles(int UserId, int RolesId);
       // /// <summary>
       // /// 根據指定用戶ID刪除用戶角色
       // /// </summary>
       // /// <param name="UserId"></param>
       // /// <param name="RolesId"></param>
       // /// <returns></returns>
       //  int DeleteCompanyUserRoles(string UserId);
       // /// <summary>
       // /// 根據用戶名取得用戶主鍵ID
       // /// </summary>
       // /// <param name="UserName"></param>
       // /// <returns></returns>
       //  object GetCompanyUserID(string UserName);
       // /// <summary>
       // /// 根據角色名取得角色主鍵ID
       // /// </summary>
       // /// <param name="RolesName"></param>
       // /// <returns></returns>
       //  object GetCompanyRolesID(string RolesName);
       // /// <summary>
       // /// 取得角色表所有信息
       // /// </summary>
       // /// <returns></returns>
       //  DataSet GetCompanyRolesInfo();
       // /// <summary>
       // /// 取得角色模塊資源
       // /// </summary>
       // /// <param name="rolesid"></param>
       // /// <returns></returns>
       //  DataSet GetCompanyRolesModule(string rolesid);
       // /// <summary>
       // /// 取得權限類表全部記錄信息
       // /// </summary>
       // /// <returns></returns>
       //  DataSet GetCompanyPermissionsInfo();
       // /// <summary>
       // /// 添加一組操作權限
       // /// </summary>
       // /// <param name="All"></param>
       // /// <param name="Read"></param>
       // /// <param name="Edit"></param>
       // /// <param name="Delete"></param>
       // /// <param name="Add"></param>
       // /// <returns></returns>
       //  int AddNewCompanyPermissions(PermissionsInfo Per);
       // /// <summary>
       // /// 根據權限主鍵ID刪除權限組
       // /// </summary>
       // /// <param name="PermissionsId"></param>
       // /// <returns></returns>
       //  int DeleteCompanyPermissions(int PermissionsId);
       // /// <summary>
       // /// 添加（分配）角色權限
       // /// </summary>
       // /// <param name="RolesId"></param>
       // /// <param name="PermissionsId"></param>
       // /// <returns></returns>
       //  int AddNewCompanyRolesPermissions(int RolesId, int PermissionsId);
       // /// <summary>
       // /// 刪除角色權限
       // /// </summary>
       // /// <param name="RolesId"></param>
       // /// <param name="PermissionsId"></param>
       // /// <returns></returns>
       //  int DeleteCompanyRolesPermissions(int RolesId, int PermissionsId);
       // /// <summary>
       // /// 根據RolesPermissions主鍵ID刪除角色權限
       // /// </summary>
       // /// <param name="RolesPermissionsId"></param>
       // /// <returns></returns>
       //  int DeleteCompanyRolesPermissions(int RolesPermissionsId);
       // /// <summary>
       // /// 添加新操作模塊
       // /// </summary>
       // /// <param name="MInfo"></param>
       // /// <returns></returns>
       //  int AddNewCompanyModule(ModuleInfo MInfo);
       // /// <summary>
       // /// 根據模塊ID更新模塊名
       // /// </summary>
       // /// <param name="MInfo"></param>
       // /// <returns></returns>
       //  int UpdateCompanyModuleName(ModuleInfo MInfo);
       // /// <summary>
       // /// 根據模塊ID刪除模塊
       // /// </summary>
       // /// <param name="MInfo"></param>
       // /// <returns></returns>
       //  int DeleteCompanyModuleById(ModuleInfo MInfo);
       // /// <summary>
       // /// 根據模塊名刪除模塊
       // /// </summary>
       // /// <param name="MInfo"></param>
       // /// <returns></returns>
       //  int DeleteCompanyModuleByName(ModuleInfo MInfo);
       // /// <summary>
       // /// 給角色指定（添加）操作模塊
       // /// </summary>
       // /// <param name="RMinfo"></param>
       // /// <returns></returns>
       //  int AddNewCompanyRolesModule(RolesModuleInfo RMinfo);
       // /// <summary>
       // /// 根據主鍵ID刪除角色操作模塊
       // /// </summary>
       // /// <param name="RMinfo"></param>
       // /// <returns></returns>
       //  int DeleteCompanyRolesModuleById(RolesModuleInfo RMinfo);
       // /// <summary>
       // /// 根據角色ID刪除角色操作模塊
       // /// </summary>
       // /// <param name="RMinfo"></param>
       // /// <returns></returns>
       //  int DeleteCompanyRolesModuleByRolesId(RolesModuleInfo RMinfo);
       // /// <summary>
       // /// 根據模塊ID和角色ID刪除角色操作模塊
       // /// </summary>
       // /// <param name="RMinfo"></param>
       // /// <returns></returns>
       //  int DeleteCompanyRolesModuleByRolesIdAndModuleId(RolesModuleInfo RMinfo);

       // /// <summary>
       // /// 取得所有模塊與角色與權限信息
       // /// </summary>
       // /// <returns></returns>
       //  DataSet GetCompanyAllRolesModulePermissions();
       // /// <summary>
       // /// 取得所有角色信息
       // /// </summary>
       // /// <returns></returns>
       //  DataSet GetCompanyAllRolesInfo();
       // /// <summary>
       // /// 根據ID刪除角色和所有關聯表數據
       // /// </summary>
       // /// <param name="id"></param>
       // /// <returns></returns>
       //  int DelCompanyRolesAndInnerTable(string id);
       // #endregion
    }
} 
